import pyautogui
import time
import webbrowser
import pyperclip


def auto_gpt_search(search_query):
    # 设置延迟，确保每个操作之间有足够的时间
    pyautogui.PAUSE = 1.5

    try:
        # 打开默认浏览器并访问GPT网站
        print("正在打开浏览器...")
        webbrowser.open("https://chat.openai.com")
        time.sleep(5)  # 等待浏览器加载

        # 检查是否已登录（假设可能需要点击登录按钮）
        try:
            login_pos = pyautogui.locateCenterOnScreen(
                "login_button.png", confidence=0.7
            )
            if login_pos:
                pyautogui.click(login_pos)
                print("点击登录按钮...")
                time.sleep(3)
        except:
            print("未找到登录按钮，可能已登录")

        # 定位输入框（使用图像识别或直接tab导航）
        print("尝试定位输入框...")

        # 方法1：尝试通过图像识别找到输入框
        try:
            input_pos = pyautogui.locateCenterOnScreen("gpt_input.png", confidence=0.7)
            if input_pos:
                pyautogui.click(input_pos)
                print("通过图像识别找到并点击输入框")
        except:
            # 方法2：如果图像识别失败，尝试通过快捷键定位
            print("图像识别失败，尝试使用Tab键导航...")
            pyautogui.hotkey("tab")
            pyautogui.hotkey("tab")
            pyautogui.hotkey("tab")

        # 输入搜索内容
        print(f"输入搜索内容: {search_query}")
        pyperclip.copy(search_query)  # 使用剪贴板避免特殊字符问题
        pyautogui.hotkey("ctrl", "v")
        time.sleep(0.5)

        # 发送查询（通常是按Enter）
        pyautogui.press("enter")
        print("查询已发送")

        print("自动化操作完成")

    except Exception as e:
        print(f"发生错误: {e}")
        print("请确保浏览器窗口可见且未被其他窗口遮挡")


if __name__ == "__main__":
    search_text = input("请输入您想在GPT中搜索的内容: ")
    auto_gpt_search(search_text)
